The present invention relates generally to networks and in particular to routing server redundancy in a network having carrier scale internetworking.
Telecommunication is known to allow one or more calling parties to convey data to one or more called parties. The data conveyed may be voice, video data, and/or computer data. Computer data includes e-mail communications, file transfers, file sharing, etc. To enable such communication, a calling party transmits an identifying code (e.g., phone number) of at least one called party to a local exchange carrier (LEC), which is typically operated by a local phone company, or to an inter-network exchange carrier (IEC), which is typically operated by a long distance phone company. The receiving exchange carrier interprets the identifying code of the called party and determines whether it can complete the communication path between the called and calling parties (e.g., the call is a local call). If so, the receiving exchange carrier provides a communication path for the calling party and the called party such that they may participate in a communication.
If, however, the receiving exchange carrier cannot complete the communication path, it transfers the called party""s identifying code to another local exchange carrier and/or to an inter-network exchange carrier. The called party""s identifying code is continually passed until it reaches a local exchange carrier, or an inter-network exchange carrier, that can complete the communication path.
As is known, local exchange carriers and inter-network exchange carriers each processes hundreds, thousands, and even tens of thousands of calls at any given moment. To facilitate such a vast number of communications, each of the LECs and IECs includes switching equipment that multiplexes the plurality of communications for more efficient processing. A common multiplexing method for North American Public Data/Telephony Network is to multiplex a line as a DS3 line, which includes 28 DS1 lines, where each DS1 includes 24 DS0 lines. As is known, a DS0 line support 64 Kbps or 56 Kbps of data, depending on its selected configuration. Since a DS1 line supports 24 DS0 lines, a DS1 has a data bandwidth of 1.536 Mbps (24*64 Kbps). Thus, a DS3 line, which includes 672 DS0s, has a data bandwidth of approximately 43 Mbps (672*64 Kbps). As is also known, DS0 lines may be combined into logical channels (often referred to as streams) depending on a particular customer""s needs. For example, a typical individual data consumer (i.e., a home user) would require a single DS0 line, or link. In contrast, a business may require a full DS1, or T1, link thus utilizing the full 1.536 Mbps of bandwidth.
Another multiplexing method, which is primarily used outside of North America, is to configure a line as an E3 line, which includes 16 E1 lines. As is known, an E1 line is comprised of 32 DS0 lines (of which 31 support data) and has a data band width of 1.984 Mbps. Thus, an E3 line includes up to 496 DS0 lines and has data bandwidth of approximately 33 Mbps. The DS0 lines may be assigned to customers based on their data bandwidth requirements in a similar manner as the DS0 lines are allocated for a DS3 line. As such, a consumer may have a logical channel that includes a single DS0 line or up to a complete E1 link.
To ensure cooperation of telephone multiplexing equipment, several data transmission standards have been adopted. One such standard requires data to be transported in accordance with a High-level Data Link Controller (HDLC) encapsulated data protocol. There are several types of HDLC encapsulated data protocols including frame relay, point to point protocol (PPP) and switched multi-megabit data service (SMDS). In essence, the HDLC encapsulated technique allows multiple connections i.e., logical channels) to be carried on a single link, be terminated, and adapted for further transportation using another encapsulating techniques. For example, data that has been packetized based on the frame relay HDLC encapsulated data protocol can be terminated and then converted to another HDLC encapsulated data packetizing protocol (e.g., PPP and/or SMDS) or to other data packetizing protocol such as ATM (asynchronous transfer mode) data packetizing protocol. For example, a frame relay to ATM adaptation technique includes network interworking and service interworking functionality, where service interworking provides two adaptation subcategories: transparent and translation. The conversion of data from one encapsulated data packetizing protocols to another is regulated by several published standards from Belcor, ITU, the frame relay forum, the ATM forum, and the Internet engineering task force.
To facilitate data transportation within the switching equipment, the switching equipment includes a direct memory access (DMA) controller. A typical DMA controller transports data elements from point to point in response to a stimulus from the source or destination point without regard to the data content. More advanced DMA controllers support scattering/gathering of data. As is known, the scattering/gathering technique enables a DMA controller to segment large blocks of data into smaller blocks and to distribute the smaller blocks within a large memory system, achieving more efficient use of the large memory system. A more advanced DMA controller typically implements the scattering/gathering without regard to data content and usually in only one data transfer direction (e.g., to the large memory system or from the large memory system). The more advanced DMA controller may, however, verify that the data is formatted in accordance with a specific data packetizing protocol (e.g., HDLC frame relay encapsulated data protocol) based on the data content, but the transporting of data is still independent of the data content.
To achieve multi-channel processing with a single DMA controller, the DMA circuit resources for a single channel are replicated. When the stimulus is received for a data transfer via a particular logical channel, the circuit resources for the particular logical channel are activated, but the circuitry for the other logical channels remains inactive. As such, the switching equipment is not operating at an optimal level.
To improve the switching equipment""s multi-channel performance, the equipment may include a multi-channel DMA controller, which services multiple logical channels as they require data transfers. Controlling such multiple channel data transfers may be done in one of a variety of ways. For example, each channel, or object, in the system may be serviced based on a theoretical average of the overall system requirements. As such, each object obtains a theoretical average value and is processed in accordance with this average. While this method assures that each object will be processed, it, at times, over emphasizes some objects of lesser importance while undervaluing objects of greater importance. An alternate technique assigns a maximum weight for any given object. As such, each object is serviced as though it were of a maximum weight, i.e., priority. In this technique, the condition of all possible objects times maximum weight is theoretically impossible, but to come close to fulfilling this theoretical condition, a substantial amount of memory and supporting circuitry is required, which tends to be wasteful. Another technique allows the object to set its own pace of processing, which is efficient for keeping a given resource busy. However, in a runaway situation, a given object can consume the system, taking more than its fair share and starving other objects from being serviced.
To further improve the efficiency of data transportation between networks and/or components thereof, Carrier Scale Internetworking (CSI) was created. In general, CSI provides a framework for carrying packet-based traffic in a highly flexible, scalable, and manageable way. To achieve CSI, a network includes logical CSI components, such as access terminations and data forwarders, which interoperate to provide routing and forwarding. As is known, routing and forwarding has been traditionally referred to and labeled as xe2x80x9croutingxe2x80x9d. While the CSI system provides improved routing of packet-based traffic, its flexibility, scalability and manageability is limited when multiple services, such as Public Internet service and Virtual Private Network (VPN) service, are being offered.
Therefore, a need exists for a method and apparatus that provides greater flexibility, scalability and manageability when multiple services are being supported by a CSI system.